/**
 * \file wHistoAffichage.cpp
 * \author Florian LANCE - Armand POLI
 * \version 1.0
 * \date octobre 2011
 */

#include "wHistoAffichage.h"

/// ########################################################################## CONSTRUCTEUR / DESTRUCTEUR

wHistoAff::wHistoAff() : histoModifie(false)
{}

wHistoAff::~wHistoAff(){}


/// ########################################################################## FONCTIONS

void wHistoAff::paintEvent(QPaintEvent *)
{

      QPainter painter(this);
      painter.setPen(Qt::red);

      painter.fillRect(0,0,2*255,height(),Qt::black);

      for(uint i = 1; i < tabPoints.size(); i++)
      {

          if(sqrt(pow((tabPoints[i-1].y()-tabPoints[i].y()),2)) > 100)   painter.setPen(Qt::blue);
          else painter.setPen(Qt::red);
          painter.drawLine(tabPoints[i-1],tabPoints[i]);
      }

}



void wHistoAff::dessinerHistogramme(std::vector<uint>& _i)
{
        tabPoints.clear();
        uint tailleMax = height();
        uint valMaxHisto = 0;

        histoModifie = true;

        for(uint i = 0; i < _i.size(); i++) { if(valMaxHisto < _i[i] ) valMaxHisto = _i[i]; } // && _i[i] < 1000000

        for(uint i = 0; i < _i.size(); i++)
        {
            uint x = _i[i] * tailleMax / valMaxHisto;
            tabPoints.push_back(QPoint(2*i,tailleMax-x));
        }

        update();
}

